//package tools;
//
//import java.io.File;
//import java.io.IOException;
//import java.io.RandomAccessFile;
//import java.nio.charset.Charset;
//import java.sql.ResultSet;
//import java.sql.SQLException;
//import java.util.List;
//
//import javax.sql.DataSource;
//
//import org.springframework.context.ApplicationContext;
//import org.springframework.context.support.FileSystemXmlApplicationContext;
//import org.springframework.jdbc.core.JdbcTemplate;
//import org.springframework.jdbc.core.RowMapper;
//
//import dao.ManagerConst;
//
///**
// * 根据MySQL数据库中表内容生成字段对象类
// * @author Administrator
// *
// */
//public class GenClassFromDB
//{
//
//	static private class col_info
//	{
//		String cn;
//		String cc;
//		String dt;
//	}
//	/**
//	 * @param args
//	 * @throws IOException 
//	 */
//	public static void main( String[] args) throws IOException
//	{
//		if( args.length < 2)
//		{
//			System.out.println( "example: GenClassFromDB [table_schema] [table_name].");
//			return;
//		}
//		System.out.println( Charset.defaultCharset().displayName());
//		// TODO Auto-generated method stub
//		ApplicationContext factory=new FileSystemXmlApplicationContext("WebContent/WEB-INF/applicationContext.xml");
//		DataSource ds = (DataSource) factory.getBean( ManagerConst.MANAGER_DATASORUCE_NAME);
//		JdbcTemplate jt = new JdbcTemplate(ds);
//		String sql = "SELECT COLUMN_NAME, DATA_TYPE, COLUMN_COMMENT FROM INFORMATION_SCHEMA.COLUMNS where table_name = '" + args[ 1] + "' AND table_schema = '" + args[0] + "'";
//		
//		List< col_info> l = jt.query( sql, new RowMapper<col_info>()
//		{
//
//			@Override
//			public col_info mapRow( ResultSet arg0, int arg1) throws SQLException
//			{
//				col_info ci = new col_info();
//				ci.cn = arg0.getString( 1);
//				ci.dt = arg0.getString( 2);
//				ci.cc = arg0.getString( 3);
//				// TODO Auto-generated method stub
//				return ci;
//			}
//
//		}		
//		);
//		String fn = "c:\\" + args[ 1] + ".java";
//		java.io.File f = new File( fn);
//		if( f.exists())
//			f.delete();
//		RandomAccessFile rfa = new RandomAccessFile( fn, "rw");
//		
//		rfa.write( ("public class " + args[ 1] +"\r\n{\r\n").getBytes( "GBK"));
//		for( int i = 0; i < l.size(); i ++)
//		{	
//			col_info ci = l.get( i);
//			//rfa.write( ci.cc.getBytes( "GBK"));
//			
//			System.out.println( ci.cn + "--" + ci.dt + "--" + ci.cc);
//			String s = "\t/**\r\n\t * " + ci.cc + "\r\n\t */\r\n";
//			rfa.write( s.getBytes( "GBK"));
//			if( ci.dt.equals( "varchar"))
//				ci.dt = "String";
//			rfa.write( ("\tpublic " + ci.dt + " ").getBytes( "GBK"));
//			rfa.write( (ci.cn + ";\r\n").getBytes("GBK"));			 
//		}		
//		rfa.write( "}".getBytes( "GBK"));
//		rfa.close();
//		
//		System.out.println( "out \"" + fn + "\" OK!");
//		
//		fn = "c:\\" + args[1].toUpperCase() + "_CONST.java";
//		f = new File( fn);
//		if( f.exists())
//			f.delete();
//		rfa = new RandomAccessFile( fn, "rw");
//		rfa.writeBytes( "public class " + args[ 1].toUpperCase() + "_CONST\r\n{\r\n");
//		for( int i = 0; i < l.size(); i ++)
//		{	
//			col_info ci = l.get( i);	
//			String s = "\t/**\r\n\t * " + ci.cc + "\r\n\t */\r\n";
//			rfa.write( s.getBytes( "GBK"));
//			if( ci.dt.equals( "varchar"))
//				ci.dt = "String";
//			rfa.writeBytes( "\t public final static String FIELD_" + ci.cn.toUpperCase() + "=\"" + ci.cn + "\";\r\n");			 
//		}		
//		rfa.writeBytes( "}");
//		rfa.close();
//		
//		System.out.println( "out \"" + fn + "\" OK!");
//		
//	}
//
//}
